#include "lindatest.h"

int lindatest()
{
  int r;
  printf("TEST PRZESTRZENI KROTEK\n");
  r = testCreateClose();
  if (r != 0) return r;
  r = testSeq();
  if (r != 0) return r;
}

int testCreateClose()
{
  linda_space *sp, *sp2;
  printf("Test tworzenia, otwierania, zamykania i niszczenia przestrzeni\n");
  sp = linda_create(SPACE1_NAME);
  if (sp == NULL)
  {
    printf("Błąd przy tworzeniu przestrzeni\n");
    return 1;
  }
  sp2 = linda_init(SPACE1_NAME);
  if (sp2 == NULL)
  {
    printf("Blad przy otwieraniu przestrzeni\n");
    return 1;
  }
  linda_close(sp2);
  linda_destroy(sp);
  return 0;
}

int testSeq()
{
  linda_space *sp, *sp2;
  printf("Test tworzenia kolejnych liczb w przestrzeni\n");
  sp = linda_create(SPACE1_NAME);
  if (sp == NULL)
  {
    printf("Błąd przy tworzeniu przestrzeni\n");
    return 1;
  }
  sp2 = linda_init(SPACE1_NAME);
  if (sp2 == NULL)
  {
    printf("Blad przy otwieraniu przestrzeni\n");
    return 1;
  }
  
  if (seq(sp) != 1)
  {
    printf("Blad przy pierwszym numerze sekwencji\n");
    linda_close(sp2);
    linda_destroy(sp);
    return 1;
  }
  if (seq(sp2) != 2)
  {
    printf("Blad przy drugim numerze sekwencji\n");
    linda_close(sp2);
    linda_destroy(sp);
    return 1;
  }
  linda_close(sp2);
  linda_destroy(sp);
  return 0;
}